﻿#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

//判断当前机器是大端还是小端
//联合体也称为共用体
//int main()
//{
//	union 
//	{
//		char i;
//		int j;
//	}data;
//	data.j = 1;
//	printf("&(data.j)=%p\n", &(data.j));
//	printf("&(data.i)=%p\n", &(data.i));
//	printf("sizeof(data)=%zd\n", sizeof(data));
//	printf("sizeof(data.j)=%zd\n", sizeof(data.j));
//	printf("sizeof(data.i)=%zd\n", sizeof(data.i));
//	if (data.i==1)
//	{
//		printf("当前环境是小端\n");
//	}
//	else
//	{
//		printf("当前环境是大端\n");
//	}
//	return 0;
//}

//枚举//定义方式类似于结构体
//尽量不要使用整数给枚举变量赋值，因为这种行为本身就是对，枚举变量规则检查的挑战
//那是否可以拿整数给枚举变量赋值呢？在C语⾔中是可以的，但是在C++是不⾏的，C++的类型检查⽐较严格。
int main()
{
	//enum color
	//{
	//	red=1,
	//	green=10,
	//	blue=15
	//};
	//enum color clr1 = green;
	//printf("clr1=%d\n", clr1);
	//printf("green=%d\n", green);

	//typedef enum color
	//{
	//	red = 1,
	//	green = 11,
	//	blue = 15
	//} clr;
	//clr my_clr1 = green;
	//printf("my_clr1=%d\n", my_clr1);
	//printf("green=%d\n", green);


	enum color
	{
		red,
		green,
		blue
	};
	enum color clr1 = green;
	printf("clr1=%d\n", clr1);
	printf("green=%d\n", green);
	return 0;
}


